home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - DOS Part 2 / DOS041.dsk / HANGMAN.bas < prev    next >
BASIC Source File  |  2012-02-16  |  9KB  |  183 lines

  1. 60  REM  WORD GAME BY M. MITCHELL
  2. 70  REM  ..... NOV. 25 1979 .....
  3. 75  GOSUB 7000
  4. 80 A$ = "HANGMAN"
  5. 90 B$ = "G  N"
  6. 100 S =  -16336
  7. 110 E$ = "                  "
  8. 112  DIM MOT$(200),LA$(25),LB$(25)
  9. 120  TEXT : HOME 
  10. 130  FOR J = 1 TO 3
  11. 140  GOSUB 5000
  12. 150  VTAB (4): PRINT  RIGHT$(A$,J): NEXT 
  13. 180  FOR J = 1 TO 8
  14. 190  GOSUB 5000
  15. 200  VTAB (4): PRINT E$
  16. 210  VTAB (4): PRINT  TAB( J) MID$ (A$,4): NEXT 
  17. 230  FOR I = 5 TO 6
  18. 240  FOR J = 1 TO 3
  19. 250  GOSUB 5000
  20. 260  VTAB (I): PRINT  RIGHT$(B$,J): NEXT 
  21. 280  FOR J = 1 TO 8
  22. 290  GOSUB 5000
  23. 300  VTAB (I): PRINT E$
  24. 310  VTAB (I): PRINT  TAB( J)B$: NEXT J
  25. 330  NEXT I
  26. 340  FOR I = 7 TO 13
  27. 350  FOR J = 1 TO 8
  28. 360  GOSUB 5000
  29. 370  VTAB (I): PRINT E$
  30. 380  VTAB (I): PRINT  TAB( J)"G": NEXT J
  31. 400  NEXT I
  32. 410  FOR I = 1 TO 6
  33. 430  VTAB (14): PRINT  RIGHT$(A$,I): NEXT I
  34. 450  FOR I = 1 TO 5
  35. 460  GOSUB 5000
  36. 470  VTAB (14): PRINT E$
  37. 480  VTAB (14): PRINT  TAB( I)A$: NEXT I
  38. 490  FOR PAUSE = 1 TO 2000: NEXT 
  39. 612  VTAB (20): HTAB (8)
  40. 614  PRINT "AN EDUCATIONAL WORD GAME"
  41. 615  HTAB (8): PRINT "------------------------": FOR PAUSE = 1 TO 1000: NEXT 
  42. 620  PRINT : PRINT  TAB( 11)"BY MERVYN MITCHELL"
  43. 630  FOR PAUSE = 1 TO 4000: NEXT : HOME 
  44. 640  HOME : VTAB (12): HTAB (10): INPUT "INSTRUCTIONS  (Y/N)?";A$
  45. 644  IF A$ = "Y"  THEN  HOME : GOTO 650
  46. 646  IF A$ = "N"  THEN 940
  47. 648  GOTO 640
  48. 650  PRINT "   I DARE YOU TO CHALLENGE THE HANGMAN "
  49. 660  PRINT "   -----------------------------------"
  50. 670  PRINT : PRINT : PRINT "  THE OBJECT OF THIS GAME IS TO DISCOVERA SECRET WORD CHOSEN BY THE COMPUTER.   YOU ARE ALLOWED TO GUESS THE LETTERS ANDWHENEVER YOU CHOOSE ONE CORRECTLY, THE  COMPUTER WILL PRINT IT ON THE SCREEN.": PRINT 
  51. 740  PRINT "  BUT IF YOU MAKE A WRONG GUESS, THE    COMPUTER STARTS TO BUILD A GALLOWS,     ADDING A NEW PIECE EVERY TIME YOU MAKE AMISTAKE.": PRINT 
  52. 762  PRINT "  YOU WILL APPRECIATE THE IMPORTANCE OF CORRECTLY GUESSING THE WORD BEFORE THE  GALLOWS ARE COMPLETED AND A VICTIM MUST BE FOUND.": PRINT 
  53. 770  PRINT "...... PRESS ANY KEY TO CONTINUE .....";: GET A$: HOME 
  54. 940  GOSUB 5300
  55. 945  HOME : VTAB (3): HTAB (5): INPUT "WHAT IS YOUR NAME? ";F$: HOME 
  56. 970  VTAB (4): PRINT "::::::::::::::::::::::::::::::::::::::::": PRINT : PRINT  TAB( 8)"HELLO ";F$: PRINT : PRINT "::::::::::::::::::::::::::::::::::::::::"
  57. 1020  PRINT : PRINT " THIS GAME IS REALLY QUITE SIMPLE ......TO GUESS A LETTER, SIMPLY PRESS THR KEY AND THECOMPUTER WILL DO THE REST.": PRINT 
  58. 1080  PRINT "*** EACH GAME CONSISTS OF FIVE WORDS ***": PRINT : FLASH : HTAB (13): PRINT " GOOD LUCK! ": NORMAL 
  59. 1085  VTAB 22: FLASH : PRINT "NOTE: ";: NORMAL : PRINT "IT MAY BE NECESSARY FOR YOU TO    MAKE UP WORD LISTS USING THE 'HANGMAN   MAKE WORDS LISTS' PROGRAM...."
  60. 1090  REM  READ IN WORD LIST
  61. 1095  PRINT  CHR$(4);"NOMON C,I,O"
  62. 1100  PRINT  CHR$(4);"OPEN ";NAME$
  63. 1110  PRINT  CHR$(4);"READ ";NAME$
  64. 1120  INPUT NUM: FOR I = 1 TO NUM
  65. 1140  INPUT MOT$(I): NEXT 
  66. 1160  PRINT  CHR$(4);"CLOSE ";NAME$
  67. 1170  FOR PAUSE = 1 TO 2000: NEXT 
  68. 2000  HOME : GR : COLOR= 7: FOR I = 0 TO 39
  69. 2030  HLIN 0,39 AT I: NEXT 
  70. 2050  COLOR= 9: HLIN 1,38 AT 1: HLIN 1,38 AT 38: VLIN 1,38 AT 38: VLIN 1,38 AT 1
  71. 2090 GOOD = 0
  72. 2100  FOR I = 1 TO 5
  73. 2101  COLOR= 7: FOR U = 4 TO 36: HLIN 4,36 AT U: NEXT 
  74. 2110 T = 0: REM  T IS NO. OF CHARACTERS IN WORD/S
  75. 2112 S = 0: REM  S IS NO OF CHARACTERS GUESSED RIGHT SO FAR
  76. 2114 U = 0: REM  U IS NO. OF ATTEMPTS TO GUESS LETTERS
  77. 2116 BAD = 0: REM  BAD IS NO. OF PARTS OF GALLOWS ASSEMBLED
  78. 2145  HOME : VTAB (21)
  79. 2150  PRINT "AND NOW, ";F$;", FOR WORD NO. ";I
  80. 2160 R = ( INT( RND(1) *NUM)) +1
  81. 2190  FOR J = 1 TO  LEN(MOT$(R))
  82. 2210  IF  MID$ (MOT$(R),J,1) = " "  THEN LB$(J) = " ": GOTO 2230
  83. 2220 LB$(J) = "-":T = T +1
  84. 2230  NEXT J
  85. 2260  VTAB (23): HTAB (28)
  86. 2280  PRINT "(";T;" LETTERS)"
  87. 2290  COLOR= 0
  88. 2300  HLIN 3,6 AT 3: VLIN 3,6 AT 3: HLIN 3,6 AT 6: VLIN 6,9 AT 6: HLIN 3,6 AT 9
  89. 2310  HLIN 8,12 AT 3: VLIN 3,8 AT 10
  90. 2320  HLIN 14,17 AT 3: HLIN 14,17 AT 5: VLIN 3,8 AT 14: VLIN 3,8 AT 17
  91. 2330  HLIN 19,22 AT 3: HLIN 19,22 AT 5: VLIN 3,5 AT 22: PLOT 20,6: PLOT 21,7: PLOT 22,8: VLIN 3,8 AT 19
  92. 2340  HLIN 24,28 AT 3: VLIN 3,8 AT 26
  93. 2350  VLIN 11,16 AT 3: VLIN 11,16 AT 7: VLIN 11,12 AT 4: VLIN 13,14 AT 5: VLIN 15,16 AT 6
  94. 2360  VLIN 12,15 AT 9: VLIN 12,15 AT 12: HLIN 10,11 AT 11: HLIN 10,11 AT 16
  95. 2370  VLIN 11,16 AT 14: VLIN 15,16 AT 15: VLIN 13,14 AT 16: VLIN 15,16 AT 17: VLIN 11,16 AT 18
  96. 2380  HLIN 21,22 AT 14: HLIN 25,26 AT 14: HLIN 29,30 AT 14: HLIN 33,34 AT 14
  97. 2381  VTAB (23): HTAB (3): FOR J = 1 TO  LEN(MOT$(R))
  98. 2382  PRINT LB$(J);: NEXT 
  99. 2383  VTAB (5): IF S = T  THEN 2590
  100. 2385 U = U +1: GET Z$: IF U >1  THEN 2450
  101. 2410  COLOR= 7
  102. 2420  FOR U = 3 TO 36: HLIN 3,35 AT U: NEXT 
  103. 2450 X = 0
  104. 2455  FOR J = 1 TO  LEN(MOT$(R))
  105. 2460  IF Z$ =  MID$ (MOT$(R),J,1)  AND Z$ < >LB$(J)  THEN LB$(J) = Z$:S = S +1:X = X +1
  106. 2465  IF Z$ = LB$(J)  THEN X = 1
  107. 2470  NEXT 
  108. 2510  IF X = 0  THEN  GOSUB 6000
  109. 2515  IF BAD = 12  THEN 2650
  110. 2520  GOTO 2381
  111. 2590  FOR PAUSE = 1 TO 1500: NEXT 
  112. 2600 GOOD = GOOD +1
  113. 2604  COLOR= 7
  114. 2606  FOR U = 3 TO 36: HLIN 3,35 AT U: NEXT 
  115. 2608  COLOR= 1: HLIN 17,24 AT 5: PLOT 25,6: PLOT 26,7: VLIN 8,15 AT 27: PLOT 26,16: PLOT 25,17: HLIN 17,24 AT 18: PLOT 16,17: PLOT 15,16: VLIN 8,15 AT 14: PLOT 15,7: PLOT 16,6
  116. 2609  HLIN 17,19 AT 8: HLIN 22,24 AT 8: PLOT 18,9: PLOT 23,9: HLIN 20,21 AT 11: HLIN 19,22 AT 15: PLOT 23,14: PLOT 24,13: PLOT 18,14: PLOT 17,13
  117. 2610  HOME : VTAB (21)
  118. 2615  PRINT "WELL DONE ";F$;" ......................"
  119. 2620  VTAB (23)
  120. 2625  PRINT "YOUR SCORE SO FAR IS ";GOOD;" OUT OF ";I
  121. 2627  GOSUB 8000
  122. 2630  FOR PAUSE = 1 TO 2500: NEXT 
  123. 2640  HOME : GOTO 2765
  124. 2650  HOME : VTAB (21): PRINT "TOUGH LUCK, ";F$;" ............ "
  125. 2655  VTAB (22): PRINT "THE CORRECT WORD WAS ";MOT$(R)
  126. 2660  VTAB (23)
  127. 2665  PRINT "YOUR SCORE SO FAR IS ";GOOD;" OUT OF ";I
  128. 2667  COLOR= 0: VLIN 10,36 AT 29: HLIN 23,35 AT 17
  129. 2700  FOR K = 50 TO 250  STEP 3: POKE 768,K: POKE 769,15: CALL 770: NEXT 
  130. 2750  FOR PAUSE = 1 TO 4500: NEXT 
  131. 2765  NEXT I
  132. 2770  HOME 
  133. 2775  VTAB (21): PRINT "**** YOUR FINAL SCORE WAS ";GOOD;" OUT OF 5 ****"
  134. 2780  PRINT : INPUT "WOULD YOU LIKE ANOTHER GAME (Y/N) ?";V$
  135. 2795  IF V$ = "Y"  THEN 2090
  136. 2800  IF V$ = "N"  THEN 2820
  137. 2810  GOTO 2770
  138. 2820  HOME : VTAB (23): INPUT "DOES SOMEONE ELSE WISH TO PLAY (Y/N)?";V$
  139. 2850  IF V$ = "Y"  THEN  TEXT : HOME : GOTO 940
  140. 2860  IF V$ = "N"  THEN 2900
  141. 2870  GOTO 2820
  142. 2900  TEXT : HOME 
  143. 2910  VTAB (15)
  144. 2920  PRINT "      THANKS FOR THE GAME FOLKS"
  145. 2930  PRINT "      -------------------------"
  146. 2940  END 
  147. 5000  REM  SOUND AND PAUSE ROUTINE
  148. 5020  POKE 768, INT( RND(2) *240 +14): POKE 769,15: CALL 770
  149. 5090  RETURN 
  150. 5300  REM  SELECT DIFFICULTY LEVEL
  151. 5320  HOME : VTAB (3): PRINT "THE COMPUTER CAN CHOOSE WORDS OF VARYINGDIFFICULTY AND TYPE."
  152. 5380  PRINT : PRINT : PRINT "GRADE 4 .............................1  GRADE 8 .............................2  GRADE 12 ............................3  ADVANCED ............................4 "
  153. 5430  PRINT "TREES, FLOWERS AND FRUITS ...........5  FAMOUS SCIENTISTS ...................6  WRITERS, ARTISTS AND COMPOSERS ......7"
  154. 5445  PRINT "BIRDS, ANIMALS AND FISHES ...........8  FAMOUS HISTORICAL CHARACTERS ........9  CAPITAL CITIES .....................10"
  155. 5450  VTAB (21): INPUT "    TYPE THE NUMBER OF YOUR CHOICE          AND THEN PRESS THE 'RETURN' KEY ";A
  156. 5455  IF A <1  OR A >10  THEN  HOME : GOTO 5300
  157. 5457 NAME$ = "HANGMAN WORDS" + STR$(A)
  158. 5460  RETURN 
  159. 6000  REM  ROUTINE TO DRAW GALLOWS
  160. 6005 BAD = BAD +1
  161. 6030  ON BAD GOTO 6040,6050,6060,6070,6080,6120,6130,6140,6150,6160,6190,6200
  162. 6040  COLOR= 0: HLIN 3,17 AT 36: GOTO 6210
  163. 6050  VLIN 10,36 AT 10: GOTO 6210
  164. 6060  COLOR= 2: PLOT 11,33: PLOT 12,34: PLOT 13,35: GOTO 6210
  165. 6070  PLOT 9,33: PLOT 8,34: PLOT 7,35: GOTO 6210
  166. 6080  COLOR= 0: HLIN 10,17 AT 10: GOTO 6210
  167. 6120  COLOR= 8: VLIN 10,14 AT 17: GOTO 6210
  168. 6130  COLOR= 0: HLIN 16,18 AT 14: COLOR= 11: HLIN 15,19 AT 15: HLIN 16,18 AT 16: GOTO 6210
  169. 6140  PLOT 17,17: COLOR= 4: VLIN 18,23 AT 16: VLIN 18,23 AT 17: VLIN 18,23 AT 18: GOTO 6210
  170. 6150  COLOR= 9: VLIN 24,29 AT 16: COLOR= 0: HLIN 15,16 AT 30: GOTO 6210
  171. 6160  COLOR= 9: VLIN 24,29 AT 18: COLOR= 0: HLIN 18,19 AT 30: GOTO 6210
  172. 6190  COLOR= 4: HLIN 19,20 AT 18: VLIN 18,22 AT 20: COLOR= 11: PLOT 20,23: GOTO 6210
  173. 6200  PLOT 14,23: COLOR= 4: VLIN 18,22 AT 14: HLIN 14,15 AT 18
  174. 6210  RETURN 
  175. 7000  FOR I = 1 TO 23
  176. 7010  READ S: POKE 769 +I,S
  177. 7020  NEXT : RETURN 
  178. 7030  DATA  173,48,192,136,208,5,206,1,3,240,9,202,208,245,174,0,3,76,2,3,96,0,0
  179. 8000  DATA  96,180,128,60,114,60,128,120,144,60,152,60,128,255,128,60,114,60,85,120,96,60,102,60,114,120,102,60,96,255
  180. 8005  RESTORE : FOR K = 1 TO 23: READ M1: NEXT 
  181. 8010  FOR K = 1 TO 15
  182. 8020  READ M1,M2: POKE 768,M1: POKE 769,M2: CALL 770: NEXT 
  183. 8030  RETURN